from collections import OrderedDict

from .. import Provider as PersonProvider


class Provider(PersonProvider):
    formats_female = (
        "{{first_name_female}} {{last_name}}",
        "{{first_name_female}} {{last_name}}",
        "{{first_name_female}} {{last_name}}",
        "{{first_name_female}} {{last_name}}",
        "{{first_name_female}} {{last_name}}-{{last_name}}",
    )

    formats_male = (
        "{{first_name_male}} {{last_name}}",
        "{{first_name_male}} {{last_name}}",
        "{{first_name_male}} {{last_name}}",
        "{{first_name_male}} {{last_name}}",
        "{{first_name_male}} {{last_name}}-{{last_name}}",
    )

    formats = formats_female + formats_male

    prefixes = (
        "Herra",
        "hra",
        "Rouva",
        "rva",
        "Tohtori",
        "tri",
        "prof.",
        "arkkit.",
    )

    suffixes = ("DI", "PhD", "MSc", "BSc")

    # List of most popular given names in Finland:
    # https://www.avoindata.fi/data/en/dataset/none/resource/d35f8973-53da-4b66-8a49-bc2fee1a2996
    first_names_female = OrderedDict(
        (
            ("Aada", 0.001877),
            ("Aila", 0.002778),
            ("Aili", 0.001542),
            ("Aino", 0.00803),
            ("Airi", 0.001591),
            ("Aleksandra", 0.002884),
            ("Alexandra", 0.002718),
            ("Alina", 0.002114),
            ("Alisa", 0.001607),
            ("Amanda", 0.004584),
            ("Anita", 0.005061),
            ("Anja", 0.005627),
            ("Anna", 0.010413),
            ("Anna-Liisa", 0.00232),
            ("Anne", 0.007823),
            ("Anneli", 0.0277),
            ("Anni", 0.004397),
            ("Anniina", 0.003366),
            ("Annika", 0.005193),
            ("Annikki", 0.013414),
            ("Annukka", 0.001424),
            ("Anu", 0.003005),
            ("Arja", 0.004539),
            ("Aulikki", 0.002522),
            ("Aune", 0.00208),
            ("Aurora", 0.003709),
            ("Birgitta", 0.003324),
            ("Carita", 0.001574),
            ("Christina", 0.001534),
            ("Eeva", 0.006403),
            ("Eija", 0.00491),
            ("Eila", 0.005377),
            ("Eliisa", 0.00163),
            ("Elina", 0.014353),
            ("Elisa", 0.00424),
            ("Elisabet", 0.005925),
            ("Elisabeth", 0.004305),
            ("Ella", 0.002958),
            ("Ellen", 0.002243),
            ("Elli", 0.002258),
            ("Elsa", 0.002284),
            ("Emilia", 0.014649),
            ("Emma", 0.003571),
            ("Emmi", 0.002183),
            ("Erika", 0.002084),
            ("Essi", 0.001576),
            ("Esteri", 0.001672),
            ("Eveliina", 0.005899),
            ("Hanna", 0.005409),
            ("Hannele", 0.0193),
            ("Heidi", 0.005315),
            ("Helena", 0.028118),
            ("Heli", 0.003711),
            ("Helinä", 0.002151),
            ("Hellevi", 0.002416),
            ("Helmi", 0.003888),
            ("Helvi", 0.001462),
            ("Henna", 0.002525),
            ("Hilkka", 0.003745),
            ("Hillevi", 0.001577),
            ("Ida", 0.003067),
            ("Iida", 0.003699),
            ("Iiris", 0.001461),
            ("Ilona", 0.004816),
            ("Inkeri", 0.009444),
            ("Irene", 0.005164),
            ("Irja", 0.002691),
            ("Irma", 0.002772),
            ("Irmeli", 0.006537),
            ("Jaana", 0.005125),
            ("Jasmin", 0.001789),
            ("Jenna", 0.002567),
            ("Jenni", 0.004011),
            ("Johanna", 0.025061),
            ("Jonna", 0.002053),
            ("Josefiina", 0.001757),
            ("Julia", 0.004716),
            ("Juulia", 0.001411),
            ("Kaarina", 0.022441),
            ("Kaija", 0.003216),
            ("Kaisa", 0.004424),
            ("Karoliina", 0.006727),
            ("Katariina", 0.010602),
            ("Kati", 0.002463),
            ("Katja", 0.00381),
            ("Katri", 0.00337),
            ("Katriina", 0.004651),
            ("Kerttu", 0.002839),
            ("Kirsi", 0.004856),
            ("Kirsti", 0.003699),
            ("Krista", 0.001465),
            ("Kristiina", 0.016656),
            ("Kristina", 0.002653),
            ("Kyllikki", 0.008537),
            ("Laura", 0.005985),
            ("Lea", 0.002827),
            ("Leena", 0.011052),
            ("Leila", 0.00267),
            ("Liisa", 0.015791),
            ("Lilja", 0.001584),
            ("Linda", 0.001706),
            ("Linnea", 0.004089),
            ("Lotta", 0.002416),
            ("Maaria", 0.00335),
            ("Maarit", 0.012853),
            ("Maija", 0.00721),
            ("Maire", 0.001814),
            ("Margareta", 0.002525),
            ("Margit", 0.002057),
            ("Mari", 0.005431),
            ("Maria", 0.044412),
            ("Marianne", 0.00481),
            ("Marika", 0.005912),
            ("Marita", 0.005339),
            ("Maritta", 0.002299),
            ("Marja", 0.010093),
            ("Marja-Leena", 0.002611),
            ("Marja-Liisa", 0.002389),
            ("Marjaana", 0.004377),
            ("Marjatta", 0.020442),
            ("Marjo", 0.002613),
            ("Marjukka", 0.001486),
            ("Marjut", 0.003021),
            ("Marketta", 0.004413),
            ("Martta", 0.001663),
            ("Matilda", 0.004284),
            ("Merja", 0.004704),
            ("Mervi", 0.002193),
            ("Mia", 0.001736),
            ("Miia", 0.002146),
            ("Milla", 0.002204),
            ("Minna", 0.006615),
            ("Mira", 0.001706),
            ("Mirja", 0.003558),
            ("Mirjam", 0.002435),
            ("Mirjami", 0.003726),
            ("Nea", 0.001605),
            ("Niina", 0.002776),
            ("Nina", 0.003539),
            ("Noora", 0.002609),
            ("Olivia", 0.00384),
            ("Oona", 0.001707),
            ("Orvokki", 0.007473),
            ("Outi", 0.002278),
            ("Päivi", 0.007556),
            ("Päivikki", 0.002189),
            ("Paula", 0.004438),
            ("Pauliina", 0.006648),
            ("Petra", 0.001455),
            ("Pia", 0.002752),
            ("Piia", 0.00155),
            ("Pirjo", 0.006778),
            ("Pirkko", 0.005904),
            ("Raija", 0.005237),
            ("Raili", 0.003592),
            ("Riikka", 0.00301),
            ("Riitta", 0.008817),
            ("Ritva", 0.007408),
            ("Roosa", 0.001641),
            ("Saara", 0.002931),
            ("Sanna", 0.005027),
            ("Sanni", 0.001827),
            ("Sara", 0.003165),
            ("Sari", 0.00656),
            ("Satu", 0.005599),
            ("Seija", 0.005422),
            ("Siiri", 0.002066),
            ("Sini", 0.002038),
            ("Sinikka", 0.010005),
            ("Sirkka", 0.004487),
            ("Sirpa", 0.005252),
            ("Sisko", 0.005153),
            ("Sofia", 0.012669),
            ("Sonja", 0.001978),
            ("Susanna", 0.012647),
            ("Suvi", 0.003093),
            ("Taina", 0.002224),
            ("Tanja", 0.002577),
            ("Tarja", 0.005886),
            ("Taru", 0.001492),
            ("Teija", 0.001634),
            ("Tellervo", 0.007298),
            ("Terhi", 0.001779),
            ("Terttu", 0.004408),
            ("Tiia", 0.002003),
            ("Tiina", 0.006154),
            ("Tuija", 0.002932),
            ("Tuula", 0.007947),
            ("Tuuli", 0.001425),
            ("Tuulia", 0.004341),
            ("Tuulikki", 0.013373),
            ("Ulla", 0.004552),
            ("Veera", 0.002453),
            ("Venla", 0.001985),
            ("Viivi", 0.001505),
            ("Vilhelmiina", 0.002004),
            ("Vilma", 0.001724),
            ("Virpi", 0.00213),
            ("Vuokko", 0.001466),
        )
    )
    first_names_male = OrderedDict(
        (
            ("Aapo", 0.001263),
            ("Aarne", 0.001939),
            ("Aaro", 0.001601),
            ("Aaron", 0.001246),
            ("Aatos", 0.001552),
            ("Ahti", 0.001192),
            ("Aimo", 0.001399),
            ("Aki", 0.001881),
            ("Akseli", 0.002333),
            ("Aleksanteri", 0.002618),
            ("Aleksi", 0.008346),
            ("Alexander", 0.002728),
            ("Allan", 0.00227),
            ("Anders", 0.001411),
            ("Anssi", 0.001464),
            ("Antero", 0.029891),
            ("Anton", 0.002652),
            ("Antti", 0.011971),
            ("Ari", 0.006403),
            ("Armas", 0.003609),
            ("Arto", 0.004059),
            ("Arttu", 0.00228),
            ("Artturi", 0.001853),
            ("Arvo", 0.001578),
            ("Asko", 0.001363),
            ("Atte", 0.001392),
            ("Aukusti", 0.002011),
            ("Aulis", 0.002725),
            ("Benjamin", 0.002089),
            ("Christian", 0.002142),
            ("Daniel", 0.002919),
            ("Edvard", 0.001248),
            ("Eelis", 0.001359),
            ("Eemeli", 0.004734),
            ("Eemil", 0.002606),
            ("Eerik", 0.001629),
            ("Eero", 0.005572),
            ("Eetu", 0.003098),
            ("Einari", 0.002263),
            ("Eino", 0.004304),
            ("Elias", 0.005129),
            ("Elmeri", 0.001817),
            ("Emil", 0.003422),
            ("Ensio", 0.006508),
            ("Erik", 0.005296),
            ("Erkki", 0.007568),
            ("Esa", 0.0043),
            ("Esko", 0.004194),
            ("Hannu", 0.007429),
            ("Harri", 0.004739),
            ("Heikki", 0.011301),
            ("Henri", 0.003282),
            ("Henrik", 0.007534),
            ("Henrikki", 0.001325),
            ("Henry", 0.001412),
            ("Hermanni", 0.00167),
            ("Iisakki", 0.001193),
            ("Ilari", 0.002866),
            ("Ilkka", 0.003098),
            ("Ilmari", 0.015056),
            ("Ismo", 0.00148),
            ("Jaakko", 0.008225),
            ("Jalmari", 0.002645),
            ("Jan", 0.002011),
            ("Jani", 0.005117),
            ("Janne", 0.006361),
            ("Jari", 0.008664),
            ("Jarkko", 0.002672),
            ("Jarmo", 0.004396),
            ("Jarno", 0.001681),
            ("Jere", 0.002255),
            ("Jesse", 0.002586),
            ("Joel", 0.002105),
            ("Johan", 0.003528),
            ("Johannes", 0.028915),
            ("Joni", 0.003244),
            ("Joona", 0.002503),
            ("Joonas", 0.003828),
            ("Joonatan", 0.001565),
            ("Jorma", 0.005147),
            ("Jouko", 0.003962),
            ("Jouni", 0.004093),
            ("Juha", 0.011567),
            ("Juhana", 0.001862),
            ("Juhani", 0.061356),
            ("Juho", 0.005642),
            ("Jukka", 0.008652),
            ("Julius", 0.00209),
            ("Jussi", 0.004772),
            ("Juuso", 0.002224),
            ("Jyrki", 0.002127),
            ("Kaarlo", 0.002073),
            ("Kai", 0.001942),
            ("Kalervo", 0.008502),
            ("Kalevi", 0.021057),
            ("Kalle", 0.003829),
            ("Kari", 0.009761),
            ("Karl", 0.001779),
            ("Kasper", 0.001177),
            ("Kauko", 0.002169),
            ("Keijo", 0.002259),
            ("Kim", 0.001172),
            ("Kimmo", 0.003441),
            ("Kristian", 0.011096),
            ("Kullervo", 0.002234),
            ("Kustaa", 0.001144),
            ("Lasse", 0.002197),
            ("Lassi", 0.001214),
            ("Lauri", 0.00755),
            ("Leevi", 0.002015),
            ("Leo", 0.003319),
            ("Markku", 0.00843),
            ("Marko", 0.006297),
            ("Markus", 0.009181),
            ("Martti", 0.005521),
            ("Matias", 0.013377),
            ("Matti", 0.01756),
            ("Mauno", 0.001189),
            ("Mauri", 0.002098),
            ("Miika", 0.001845),
            ("Mika", 0.007765),
            ("Mikael", 0.021621),
            ("Mikko", 0.009719),
            ("Miro", 0.001274),
            ("Niilo", 0.002094),
            ("Niklas", 0.002024),
            ("Niko", 0.003908),
            ("Oiva", 0.001202),
            ("Olavi", 0.030903),
            ("Oliver", 0.003026),
            ("Olli", 0.003921),
            ("Onni", 0.004513),
            ("Oskar", 0.001185),
            ("Oskari", 0.007745),
            ("Osmo", 0.001531),
            ("Ossi", 0.001591),
            ("Otto", 0.002902),
            ("Paavo", 0.00381),
            ("Pasi", 0.004109),
            ("Patrik", 0.001474),
            ("Pauli", 0.003105),
            ("Pekka", 0.017016),
            ("Pentti", 0.006344),
            ("Pertti", 0.004406),
            ("Peter", 0.001704),
            ("Petri", 0.00786),
            ("Petteri", 0.015518),
            ("Raimo", 0.004575),
            ("Rainer", 0.001478),
            ("Rasmus", 0.001715),
            ("Rauno", 0.001688),
            ("Reijo", 0.003919),
            ("Reino", 0.002166),
            ("Riku", 0.001803),
            ("Risto", 0.004678),
            ("Robert", 0.001478),
            ("Roope", 0.001412),
            ("Sakari", 0.013891),
            ("Sami", 0.00587),
            ("Samu", 0.001237),
            ("Samuel", 0.00403),
            ("Samuli", 0.004994),
            ("Santeri", 0.00346),
            ("Sebastian", 0.002863),
            ("Seppo", 0.007305),
            ("Simo", 0.002313),
            ("Taisto", 0.001514),
            ("Taneli", 0.00129),
            ("Tapani", 0.02906),
            ("Tapio", 0.024776),
            ("Tauno", 0.001795),
            ("Teemu", 0.004605),
            ("Tero", 0.003188),
            ("Teuvo", 0.001714),
            ("Timo", 0.010557),
            ("Toivo", 0.003649),
            ("Tomi", 0.00341),
            ("Tommi", 0.003191),
            ("Toni", 0.003723),
            ("Topias", 0.001645),
            ("Tuomas", 0.005948),
            ("Tuomo", 0.002739),
            ("Tuukka", 0.001175),
            ("Uolevi", 0.002879),
            ("Väinö", 0.003176),
            ("Valdemar", 0.00152),
            ("Valtteri", 0.006312),
            ("Veeti", 0.001673),
            ("Veijo", 0.001517),
            ("Veikko", 0.007525),
            ("Veli", 0.004415),
            ("Verneri", 0.001164),
            ("Vesa", 0.003926),
            ("Vilhelm", 0.001591),
            ("Vilho", 0.002303),
            ("Viljami", 0.003563),
            ("Viljo", 0.00154),
            ("Ville", 0.007025),
            ("Yrjö", 0.001912),
        )
    )

    first_names = first_names_male.copy()
    first_names.update(first_names_female)

    # List of most popular last names in Finland:
    # https://www.avoindata.fi/data/en/dataset/none/resource/d25831d1-82a9-476f-8f7c-374c348efc14
    last_names = OrderedDict(
        (
            ("Aalto", 0.004189),
            ("Aaltonen", 0.004828),
            ("Aho", 0.003566),
            ("Ahokas", 0.001182),
            ("Ahola", 0.003697),
            ("Ahonen", 0.005301),
            ("Airaksinen", 0.001075),
            ("Alanen", 0.001124),
            ("Alanko", 0.001131),
            ("Alatalo", 0.001424),
            ("Andersson", 0.002447),
            ("Antikainen", 0.001061),
            ("Anttila", 0.004683),
            ("Anttonen", 0.00121),
            ("Aro", 0.00105),
            ("Asikainen", 0.002),
            ("Autio", 0.002187),
            ("Auvinen", 0.001732),
            ("Backman", 0.001331),
            ("Berg", 0.001362),
            ("Blomqvist", 0.001545),
            ("Eklund", 0.001737),
            ("Elo", 0.00113),
            ("Eloranta", 0.00109),
            ("Eriksson", 0.002454),
            ("Erkkilä", 0.001406),
            ("Eronen", 0.001765),
            ("Eskelinen", 0.002041),
            ("Eskola", 0.001747),
            ("Forsman", 0.001077),
            ("Grönroos", 0.001054),
            ("Gustafsson", 0.001571),
            ("Haapala", 0.001736),
            ("Haapanen", 0.00132),
            ("Haapaniemi", 0.001056),
            ("Haataja", 0.001222),
            ("Haavisto", 0.001782),
            ("Hakala", 0.004682),
            ("Hakkarainen", 0.00272),
            ("Häkkinen", 0.002513),
            ("Halme", 0.001566),
            ("Halonen", 0.003495),
            ("Hämäläinen", 0.009001),
            ("Hänninen", 0.003986),
            ("Hannula", 0.001522),
            ("Harju", 0.003153),
            ("Härkönen", 0.002434),
            ("Hartikainen", 0.002868),
            ("Hautala", 0.001909),
            ("Hautamäki", 0.00165),
            ("Haverinen", 0.001289),
            ("Heikkilä", 0.006931),
            ("Heikkinen", 0.008519),
            ("Heino", 0.00296),
            ("Heinonen", 0.007026),
            ("Heiskanen", 0.003335),
            ("Helenius", 0.001874),
            ("Helin", 0.001682),
            ("Helminen", 0.001458),
            ("Henriksson", 0.001408),
            ("Hietala", 0.002444),
            ("Hietanen", 0.00184),
            ("Hiltunen", 0.004889),
            ("Hirvonen", 0.004428),
            ("Hokkanen", 0.002165),
            ("Holappa", 0.00105),
            ("Holm", 0.001459),
            ("Holmberg", 0.001217),
            ("Holmström", 0.001188),
            ("Holopainen", 0.002501),
            ("Honkanen", 0.00323),
            ("Huhtala", 0.002066),
            ("Huotari", 0.001845),
            ("Huovinen", 0.001733),
            ("Huttunen", 0.003632),
            ("Huuskonen", 0.001163),
            ("Hytönen", 0.001515),
            ("Hyttinen", 0.001835),
            ("Hyvärinen", 0.002703),
            ("Hyvönen", 0.002406),
            ("Ihalainen", 0.001044),
            ("Ikonen", 0.00358),
            ("Immonen", 0.003231),
            ("Jaakkola", 0.002386),
            ("Jääskeläinen", 0.002913),
            ("Jaatinen", 0.001308),
            ("Jalonen", 0.001474),
            ("Jansson", 0.00146),
            ("Jäntti", 0.00125),
            ("Järvelä", 0.001204),
            ("Järvenpää", 0.001797),
            ("Järvi", 0.001061),
            ("Järvinen", 0.007928),
            ("Jauhiainen", 0.001305),
            ("Johansson", 0.003434),
            ("Jokela", 0.002356),
            ("Jokinen", 0.005951),
            ("Juntunen", 0.002955),
            ("Jussila", 0.002127),
            ("Juvonen", 0.001677),
            ("Kähkönen", 0.00158),
            ("Kaikkonen", 0.001253),
            ("Kainulainen", 0.001727),
            ("Kallio", 0.004876),
            ("Kämäräinen", 0.001118),
            ("Kanerva", 0.001436),
            ("Kangas", 0.002883),
            ("Kankaanpää", 0.001337),
            ("Kantola", 0.001513),
            ("Karhu", 0.00234),
            ("Karhunen", 0.001157),
            ("Kari", 0.001082),
            ("Karjalainen", 0.006036),
            ("Kärki", 0.001268),
            ("Kärkkäinen", 0.003561),
            ("Karlsson", 0.002809),
            ("Karppinen", 0.003072),
            ("Karttunen", 0.001799),
            ("Karvinen", 0.001394),
            ("Karvonen", 0.002385),
            ("Kauppila", 0.00126),
            ("Kauppinen", 0.003787),
            ("Keinänen", 0.001261),
            ("Kemppainen", 0.003777),
            ("Keränen", 0.002874),
            ("Keskinen", 0.001651),
            ("Keskitalo", 0.00109),
            ("Ketola", 0.001792),
            ("Kettunen", 0.003871),
            ("Kilpeläinen", 0.001374),
            ("Kinnunen", 0.006796),
            ("Kiuru", 0.001089),
            ("Kivelä", 0.002164),
            ("Kivimäki", 0.001619),
            ("Kivinen", 0.0013),
            ("Kiviniemi", 0.001402),
            ("Kivistö", 0.001447),
            ("Koistinen", 0.001988),
            ("Koivisto", 0.004667),
            ("Koivula", 0.002017),
            ("Koivunen", 0.001881),
            ("Kokko", 0.002672),
            ("Kokkonen", 0.003128),
            ("Kolehmainen", 0.002155),
            ("Komulainen", 0.001657),
            ("Konttinen", 0.001132),
            ("Koponen", 0.003424),
            ("Korhonen", 0.011042),
            ("Korpela", 0.002431),
            ("Korpi", 0.001281),
            ("Kortelainen", 0.001539),
            ("Koskela", 0.003733),
            ("Koski", 0.003231),
            ("Koskinen", 0.008414),
            ("Kosonen", 0.00231),
            ("Kovanen", 0.001198),
            ("Kuisma", 0.001348),
            ("Kujala", 0.002234),
            ("Kukkonen", 0.002415),
            ("Kulmala", 0.001901),
            ("Kumpulainen", 0.001781),
            ("Kuosmanen", 0.001577),
            ("Kurki", 0.001386),
            ("Kuronen", 0.001149),
            ("Kuusela", 0.001972),
            ("Kuusisto", 0.002479),
            ("Kyllönen", 0.001904),
            ("Laakkonen", 0.00201),
            ("Laakso", 0.00436),
            ("Laaksonen", 0.004505),
            ("Lähteenmäki", 0.001609),
            ("Lahti", 0.00373),
            ("Lahtinen", 0.005427),
            ("Laiho", 0.001374),
            ("Laine", 0.008802),
            ("Laitinen", 0.006223),
            ("Lammi", 0.00109),
            ("Lampinen", 0.002147),
            ("Lankinen", 0.001053),
            ("Lappalainen", 0.003902),
            ("Lassila", 0.001343),
            ("Latvala", 0.001139),
            ("Laukkanen", 0.002981),
            ("Laurila", 0.00268),
            ("Lehikoinen", 0.001339),
            ("Lehtimäki", 0.001726),
            ("Lehtinen", 0.007344),
            ("Lehto", 0.004389),
            ("Lehtola", 0.001536),
            ("Lehtonen", 0.00786),
            ("Leino", 0.002813),
            ("Leinonen", 0.004891),
            ("Lepistö", 0.001981),
            ("Leppänen", 0.005224),
            ("Leskinen", 0.002572),
            ("Liimatainen", 0.001943),
            ("Lilja", 0.00115),
            ("Lindberg", 0.001978),
            ("Lindfors", 0.001504),
            ("Lindgren", 0.00175),
            ("Lindholm", 0.003367),
            ("Lindqvist", 0.002171),
            ("Lindroos", 0.002225),
            ("Lindström", 0.002755),
            ("Linna", 0.001114),
            ("Lipponen", 0.00129),
            ("Liukkonen", 0.001696),
            ("Luoma", 0.00193),
            ("Luukkonen", 0.001845),
            ("Määttä", 0.003095),
            ("Mäenpää", 0.00279),
            ("Mäkelä", 0.009299),
            ("Mäki", 0.003044),
            ("Mäkinen", 0.009918),
            ("Makkonen", 0.002549),
            ("Malinen", 0.002249),
            ("Manninen", 0.004752),
            ("Männistö", 0.001155),
            ("Mäntylä", 0.001364),
            ("Markkanen", 0.001624),
            ("Martikainen", 0.002756),
            ("Marttila", 0.001834),
            ("Marttinen", 0.001083),
            ("Matikainen", 0.00149),
            ("Matilainen", 0.001526),
            ("Mattila", 0.005845),
            ("Mattsson", 0.001349),
            ("Meriläinen", 0.001503),
            ("Miettinen", 0.004877),
            ("Mikkola", 0.003284),
            ("Mikkonen", 0.00345),
            ("Moilanen", 0.004065),
            ("Moisio", 0.001273),
            ("Mononen", 0.001237),
            ("Muhonen", 0.001141),
            ("Mustonen", 0.004238),
            ("Myllymäki", 0.001733),
            ("Nevala", 0.001071),
            ("Nevalainen", 0.002639),
            ("Niemelä", 0.004065),
            ("Niemi", 0.006993),
            ("Nieminen", 0.009851),
            ("Niiranen", 0.001315),
            ("Nikula", 0.001193),
            ("Niskanen", 0.003346),
            ("Nissinen", 0.002092),
            ("Nousiainen", 0.002075),
            ("Nurmi", 0.004112),
            ("Nurminen", 0.003196),
            ("Nuutinen", 0.001781),
            ("Nyberg", 0.001381),
            ("Nykänen", 0.002561),
            ("Nylund", 0.001545),
            ("Nyman", 0.003435),
            ("Oikarinen", 0.00114),
            ("Oinonen", 0.001349),
            ("Ojala", 0.005237),
            ("Ojanen", 0.001396),
            ("Oksanen", 0.003372),
            ("Ollikainen", 0.001631),
            ("Ollila", 0.001614),
            ("Pääkkönen", 0.001404),
            ("Paananen", 0.002837),
            ("Paavilainen", 0.001028),
            ("Paavola", 0.001687),
            ("Pajunen", 0.001396),
            ("Pakarinen", 0.001818),
            ("Palomäki", 0.001161),
            ("Parkkinen", 0.001273),
            ("Partanen", 0.003879),
            ("Parviainen", 0.002908),
            ("Pasanen", 0.002364),
            ("Pehkonen", 0.001178),
            ("Pekkala", 0.001172),
            ("Pekkarinen", 0.0011),
            ("Pelkonen", 0.001933),
            ("Peltola", 0.003401),
            ("Peltonen", 0.004111),
            ("Peltoniemi", 0.001325),
            ("Pennanen", 0.001857),
            ("Penttilä", 0.001723),
            ("Penttinen", 0.001875),
            ("Perälä", 0.001592),
            ("Pesonen", 0.003534),
            ("Pietilä", 0.001874),
            ("Piirainen", 0.001336),
            ("Pirinen", 0.001318),
            ("Pitkänen", 0.004831),
            ("Pohjola", 0.001266),
            ("Pöllänen", 0.001097),
            ("Puhakka", 0.001413),
            ("Pulkkinen", 0.003995),
            ("Puranen", 0.001053),
            ("Puustinen", 0.001385),
            ("Raatikainen", 0.001244),
            ("Räisänen", 0.002146),
            ("Rajala", 0.002963),
            ("Ranta", 0.002422),
            ("Rantala", 0.004243),
            ("Rantanen", 0.006076),
            ("Räsänen", 0.004444),
            ("Räty", 0.001319),
            ("Rauhala", 0.001391),
            ("Rautiainen", 0.00292),
            ("Rautio", 0.002231),
            ("Reinikainen", 0.001112),
            ("Repo", 0.001805),
            ("Riihimäki", 0.001097),
            ("Riikonen", 0.001838),
            ("Rinne", 0.002123),
            ("Rintala", 0.001596),
            ("Rissanen", 0.003116),
            ("Ronkainen", 0.001757),
            ("Rönkkö", 0.001111),
            ("Rossi", 0.001203),
            ("Ruotsalainen", 0.002752),
            ("Ruuskanen", 0.001251),
            ("Rytkönen", 0.00144),
            ("Ryynänen", 0.00112),
            ("Saarela", 0.002292),
            ("Saari", 0.003871),
            ("Saarinen", 0.007247),
            ("Saastamoinen", 0.001741),
            ("Sainio", 0.001224),
            ("Sallinen", 0.001148),
            ("Salmela", 0.002572),
            ("Salmi", 0.003705),
            ("Salminen", 0.007146),
            ("Salo", 0.006336),
            ("Salomaa", 0.001099),
            ("Salonen", 0.006757),
            ("Savolainen", 0.005448),
            ("Seppä", 0.001142),
            ("Seppälä", 0.004007),
            ("Seppänen", 0.003731),
            ("Sihvonen", 0.001053),
            ("Sillanpää", 0.002264),
            ("Silvennoinen", 0.001614),
            ("Simola", 0.001116),
            ("Simonen", 0.001049),
            ("Sipilä", 0.001582),
            ("Sirén", 0.001129),
            ("Sirviö", 0.001089),
            ("Sjöblom", 0.001119),
            ("Soini", 0.001102),
            ("Soininen", 0.001422),
            ("Suhonen", 0.001834),
            ("Suomalainen", 0.001609),
            ("Suominen", 0.003582),
            ("Sutinen", 0.001056),
            ("Syrjälä", 0.001196),
            ("Tähtinen", 0.001028),
            ("Taipale", 0.001378),
            ("Takala", 0.001797),
            ("Tamminen", 0.002461),
            ("Tanskanen", 0.001536),
            ("Tarvainen", 0.001396),
            ("Taskinen", 0.001633),
            ("Tervo", 0.001419),
            ("Tiainen", 0.00234),
            ("Tiihonen", 0.001149),
            ("Tikka", 0.001325),
            ("Tikkanen", 0.00266),
            ("Timonen", 0.002211),
            ("Tirkkonen", 0.001193),
            ("Toivanen", 0.002668),
            ("Toivonen", 0.004311),
            ("Tolonen", 0.002122),
            ("Tolvanen", 0.001917),
            ("Tuomi", 0.001608),
            ("Tuominen", 0.006098),
            ("Tuovinen", 0.001894),
            ("Turpeinen", 0.001528),
            ("Turunen", 0.006523),
            ("Uotila", 0.001053),
            ("Uusitalo", 0.002687),
            ("Väänänen", 0.002319),
            ("Vainio", 0.003358),
            ("Väisänen", 0.004904),
            ("Välimäki", 0.001587),
            ("Valkama", 0.001139),
            ("Valkonen", 0.001248),
            ("Valtonen", 0.002171),
            ("Varis", 0.001436),
            ("Vartiainen", 0.002039),
            ("Väyrynen", 0.001426),
            ("Venäläinen", 0.001262),
            ("Vesterinen", 0.001259),
            ("Viitala", 0.001642),
            ("Viitanen", 0.002647),
            ("Viljanen", 0.001859),
            ("Virta", 0.002228),
            ("Virtanen", 0.01083),
            ("Voutilainen", 0.001853),
            ("Vuorela", 0.001156),
            ("Vuori", 0.001701),
            ("Vuorinen", 0.003188),
            ("Ylinen", 0.00105),
            ("Ylitalo", 0.001438),
            ("Ylönen", 0.00125),
        )
    )
